1. Field of the Invention
The invention relates to input/output devices used in personal computers, and more particularly to an input/output device in which input/output instructions directed to a UART are redirected to a different device through the use of processor debug facilities.
2. Description of the Related Art
Most of today's personal computers include some form of modem functionality. High speed modem systems are typically incorporated onto an option card, and usually include a "data pump" for supporting the various protocols of modem communication, such as the V.22, V.22bis, V.32, V.32bis, and V.34 (28.8 Kbps) protocols recommended by the International Telegraph and Telephone Consultative Committee (CCITT). The data pump itself typically includes a DSP (digital signal processor) for performing modulation, demodulation and echo cancellation and a coder-decoder (CODEC) for performing analog to digital (A/D) and digital to analog (D/A) conversion. Analog signals from the phone line are digitized by the CODEC and then demodulated by the DSP to extract the original digital data sent by an external device. This procedure is reversed for data transmitted by the modem to the external device.
In prior modems, support logic to interface the modem to the computer system has typically included a microcontroller for establishing a communications link, controlling the sequence of events to originate or answer a call, and to transmit or receive digital data from the computer system through a universal asynchronous receiver transmitter (UART) across the I/O bus. The microcontroller also typically performs error correction procedures, such as those according to the V.42 protocol, as well as compression/decompression procedures, such as those according to the V.42bis protocol recommended by the CCITT.
The UART was originally designed as an intelligent microchip for serial interfacing, typically serializing data presented over a bus (or serial transmission such as over an RS-232 communications link) and receiving such data, converting it to parallel form, and sending it over a bus. Access to a UART chip is typically gained through a personal computer system's I/O ports (typically COM1 and COM2). Typical representatives include the UART 8250 and 16450 chips by National Semiconductor Corporation.
The hardware portions of modem devices contributes substantially to the ultimate cost of such modems. Further, they contribute to the size of such modems. Any reduction in the component count of such modems is desirable because it results in lower costs.
Ease of upgradability and portability across different operating system platforms is important to modem makers in today's age of rapidly changing technology and quick obsolescence. Manufacturers are faced with the pressure of trying to recover the cost of hardware development in the face of shortened product lifecycles. Therefore, any reduction in such hardware development is similarly desirable.
Further, a large amount of software, both at the application level and at the operating system level, has been written to communicate with a modem (or other device connected to a UART) through a serial port. For example, both application and operation system software may expect a modem to be connected to COM1, which is accessed in a standard IBM compatible personal computer through I/O addresses 03f8h-03ffh. Alternatively, the software might expect the serial port to be present at COM2, which is accessed through I/O addresses 02f8h-02ffh. It would be desirable to be able to employ such software and drivers with non-standard modem and device hardware with a minimum of modification, even to the extent that the input/output instructions used to access the I/O ports remain unchanged.